# class Solution:
#     def calculate(self, s: str) -> int:
#         def calc(s):
#             i=0
#             ret=0
#             num=0
#             sign=1
#             while i<len(s):
#                 if s[i]=="(":
#                     stack=[1]
#                     j=i+1
#                     while stack:
#                         if s[j]=="(":
#                             stack.append(1)
#                         elif s[j]==")":
#                             stack.pop()
#                         j+=1
#                     ret+=sign*calc(s[i+1:j-1])
#                     i=j
#                 elif s[i]=="+":
#                     sign=1
#                     i+=1
#                 elif s[i]=="-":
#                     sign=-1
#                     i+=1
#                 else:
#                     j=i
#                     while j<len(s) and s[j]>='0' and s[j]<='9':
#                         j+=1
#                     ret+=sign*int(s[i:j])
#                     i=j
#             return ret
        
#         return calc(s.replace(" ",""))       

'''
超时
'''


class Solution:
    def calculate(self, s: str) -> int:
        s=s.replace(" ","")
        i=0
        ret=0
        num=0
        sign=1
        while i<len(s):
            if s[i]=="+":
                sign=1
                i+=1
            elif s[i]=="-":
                sign=-1
                i+=1
            else:
                j=i
                ds=True
                temp=1
                while j<len(s) and s[j]!="+" and s[j]!="-":
                    if s[j]=="*":
                        if ds:
                            temp*=int(s[i:j])
                        else:
                            temp=temp//int(s[i:j])
                        ds=True
                        i=j+1
                    elif s[j]=="/":
                        if ds:
                            temp*=int(s[i:j])
                        else:
                            temp=temp//int(s[i:j])
                        ds=False
                        i=j+1                            
                    j+=1
                if ds:
                    temp*=int(s[i:j])
                else:
                    temp=temp//int(s[i:j])                    
                ret+=sign*temp
                i=j
        return ret
           

s=Solution()
print(s.calculate(" 3+5 / 2 "))

# 执行用时：
# 128 ms
# , 在所有 Python3 提交中击败了
# 29.45%
# 的用户
# 内存消耗：
# 15.1 MB
# , 在所有 Python3 提交中击败了
# 95.02%
# 的用户